Java’da Tarih, Sayı ve Para Birimi Sınıfları

Bu yazıda Java ile tarih, sayı ve para birimi sınıflarını detaylı şekilde inceliyoruz. Farklı ülkelere göre tarih formatlamak, para birimlerini yerel ayara göre göstermek ve çok dilli uygulamalar geliştirmek istiyorsanız java.text ve java.util paketlerindeki temel sınıfları bilmeniz gerekir.

Kısa özet: Bu rehberde Date, Calendar, DateFormat, NumberFormat ve Locale sınıflarının ne işe yaradığını, hangi senaryolarda kullanıldığını ve yerelleştirme süreçlerinde nasıl birlikte çalıştıklarını öğreneceksiniz.

Java ekosistemiyle ilgili diğer içerikler için Java içeriklerimize de göz atabilirsiniz.


1. java.util.Date

Date sınıfı Java’nın eski tarih-saat sınıflarından biridir. Bugün bazı metotları eski kabul edilse de, legacy kod tabanlarında ve Calendar ile DateFormat arasında dönüşüm yapılırken hâlâ karşınıza çıkabilir.

Date now = new Date();

Yeni projelerde doğrudan Date ile yoğun işlem yapmak yerine daha modern API’ler tercih edilse de, bu sınıfı okumak ve anlamak eski Java projelerini sürdürmek için hâlâ önemlidir.

2. java.util.Calendar

Calendar sınıfı tarih hesaplamalarını kolaylaştırır. Gün ekleme, ay değiştirme, haftanın gününü bulma gibi işlemler için kullanılır. Soyut bir sınıf olduğu için doğrudan oluşturulmaz; genellikle getInstance() ile elde edilir.

Calendar cal = Calendar.getInstance();

Örnek çıktı:

1st date Sat Sep 08 19:46:40 MDT 2001
Sunday is the first day of the week
trillionth milli day of week is 7
new date Mon Oct 08 19:46:40 MDT 2001

Özellikle farklı yerel ayarlarda takvim hesaplamaları yapmak gerektiğinde Calendar sınıfı uzun süre yaygın olarak kullanılmıştır.

3. java.text.DateFormat

DateFormat, tarihleri farklı ülke ve bölgelere göre biçimlendirmek için kullanılır. Aynı tarih, farklı locale ayarlarında bambaşka şekilde görünebilir.

9/8/01 7:46 PM
Sep 8, 2001
9/8/01
Sep 8, 2001
September 8, 2001
Saturday, September 8, 2001

Çok dilli ve uluslararası uygulamalarda tarihleri doğru göstermek için bu sınıf oldukça faydalıdır.

4. java.text.NumberFormat

NumberFormat, sayısal değerleri ve para birimlerini yerel ayara göre biçimlendirir. Örneğin aynı sayı Türkiye, ABD veya Almanya için farklı biçimde gösterilebilir.

123.457
123,457
$123.46
123,46 ?

Finansal uygulamalar, raporlama ekranları ve uluslararası kullanıcıya hitap eden sistemlerde NumberFormat kullanmak oldukça önemlidir.

5. java.util.Locale

Locale sınıfı, dil ve ülke bilgisini tutar. Yerelleştirme işlemlerinin merkezinde yer alır ve DateFormat ile NumberFormat gibi sınıflarla birlikte çalışır.

Locale loc = new Locale("pt", "BR");

Bu yapı sayesinde tarih, saat, sayı ve para birimleri farklı kullanıcı gruplarına uygun şekilde gösterilebilir.

6. Kullanım Şekline Göre Java Tarih ve Sayı Sınıfları

Aşağıdaki tablo, en sık karşılaşılan tarih ve sayı senaryolarında hangi sınıfın nasıl kullanılacağını özetler.

Kullanım Şekli Kod Sıralaması
Geçerli tarih ve saati alma 1. Date d = new Date();
2. String s = d.toString();
Yerel ayarda tarih ve saat hesaplaması yapma 1. Calendar c = Calendar.getInstance();
2. c.add(...) ve c.roll(...) kullanın
Farklı yerel ayarda tarih ve saat hesaplaması yapma 1. Locale loc = new Locale(dil); veya new Locale(dil, ulke);
2. Calendar c = Calendar.getInstance(loc);
Farklı stillerle tarih formatlama 1. Calendar c = Calendar.getInstance();
2. Locale loc = new Locale(...);
3. Date d = c.getTime();
4. DateFormat df = DateFormat.getDateInstance(style, loc);
5. String s = df.format(d);
Sayısal veya parasal değerleri yerel formata çevirme 1. Locale loc = new Locale(...);
2. NumberFormat nf = NumberFormat.getInstance(loc);
veya
NumberFormat nf = NumberFormat.getCurrencyInstance(loc);
3. String s = nf.format(sayi);

Modern Java Notu

Eski Java projelerinde Date, Calendar ve DateFormat sınıfları çok yaygın kullanılır. Ancak güncel Java projelerinde tarih-saat işlemleri için çoğunlukla java.time API’si tercih edilir.

Yine de legacy sistemleri anlamak, bakım yapmak ve sınav/teorik konuları öğrenmek için bu klasik sınıfları bilmek hâlâ önemlidir.

Sonuç

Bu yazıda Java tarih, saat ve sayı sınıflarını kapsamlı şekilde inceledik. Artık Date, Calendar, DateFormat, NumberFormat ve Locale sınıflarının ne işe yaradığını ve hangi senaryolarda kullanıldığını daha net biliyorsunuz.

Bu sınıflar sayesinde uygulamalarınıza çok dilli ve yerelleştirilmiş destek ekleyebilirsiniz.

Bizi takip etmeyi unutmayın. İyi çalışmalar!

Latest Software Developers - Yazılım Blog Yazarı Profil Resmi

Yazar

LatestSoftwareDevelopers

Blog where the most up-to-date software is followed. (En güncel yazılımların takip edildiği blog sitesi)

Java ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *